<%@page import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*,java.awt.Font"%>

<%@ page language="java" contentType="image/jpeg" %>

<%
	int width = 60, height = 20;
	BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
	//获取图形上下文
	Graphics g=image.getGraphics();
	//设置背景色
	g.setColor(new Color(0xDCDCDC));
	g.fillRect(0, 0, width,	height);
	//画边框
	g.setColor(Color.black);
	g.drawRect(0, 0, width-1, height-1);
	//随机产生的验证码
	String rand=""+(Math.random()*10000);
	rand =rand.substring(0, rand.indexOf("."));
	switch(rand.length())
	{
	case 1:rand="000"+rand;
	break;
	case 2:rand="00"+rand;
	break;
	case 3:rand="0"+rand;
	break;
	default:rand = rand.substring(0,4);
	break;
	}
	//将验证码存入SESSION
	session.setAttribute("rand", rand);
	//将验证码显示到图像上
	g.setColor(Color.black);
	Integer tempNumber=new Integer(rand);
	String numberStr=tempNumber.toString();
	Font font=new Font("SansSerif",Font.PLAIN,18);
	g.setFont(font);
	String Str=numberStr.substring(0, 1);
	g.drawString(Str, 8, 17);
	Str =numberStr.substring(1,2);
	g.drawString(Str, 20, 15);
	Str =numberStr.substring(2,3);
	g.drawString(Str, 35, 18);
	Str =numberStr.substring(3,4);
	g.drawString(Str, 45, 15);
	
	Random random=new Random();
	for(int i=0;i<20;i++){
		int x=random.nextInt(width);
		int y=random.nextInt(height);
		g.drawOval(x, y, 0, 0);
	}
	g.dispose();
	ImageIO.write(image, "JPEG", response.getOutputStream());
	
	
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

</body>
</html>